package enum

// ErrorMap 错误信息字典，固定6位长度，前两位按服务划分，后3位为具体错误类型，还有一位备用
var ErrorMap = struct {
	//通用
	UnknownError, ParamsError, Unauthorized, VerifyCodeErr, AccessDeniedForCreate, SysDateNoDelete int32

	// lms
	CoursewareFileUploadFail, CoursewareNameExist, CourseFolderNameExist, CourseNameExist, ResolveQuestionExcelError   int32
	OllamaConnErr, WsUpgradeErr, GettingCoursewareErr, DeleteFileErr, DeleteKnowledgeErr, ExistCoursewareAboutFolderId int32
	PublishCourseErr, CourseAccessDenied, CoursewareAccessDenied                                                       int32

	// sys
	AccountIsExist, OldPasswordError, OrgNameIsExist int32

	// ams
	ClientIsOff, SendMsgErr, AccessDeniedForLV, UploadFileErrForIdp, PullTaskError int32
	GetReportErr, TaskTimeInvalid, InstructionResponseTimeOut                      int32

	// vap
	GuacdErr, SendHostInstructErr, SyncWinAccountsErr int32
}{
	// common
	UnknownError:          100000, // 服务端发生了不可预期的错误，请联系开发人员！
	ParamsError:           100001, // 参数不合法，请检查API文档
	Unauthorized:          100002, // 未认证
	VerifyCodeErr:         100003, // 验证码无效
	AccessDeniedForCreate: 100004, //拒绝访问不属于你的数据,创建者和修改删除者不一致时提示该错误
	SysDateNoDelete:       100005, // 系统内置的数据，不能删除

	// lms 模块下的数据
	CoursewareFileUploadFail:     110001, // 课件文件上传失败
	CoursewareNameExist:          110002, // 目录名称已经存在
	CourseNameExist:              110003, // 课程名称已经存在
	ResolveQuestionExcelError:    110004, // 解析上传题库数据时发生错误
	CourseFolderNameExist:        110004, // 课程目录名称已经存在
	OllamaConnErr:                110005, // 连接LLM服务器失败
	WsUpgradeErr:                 110005, // ws 协议升级失败
	GettingCoursewareErr:         110006, // 获取课件code信息时发生错误
	DeleteFileErr:                110007, // 删除文件时发生错误
	DeleteKnowledgeErr:           110008, // 删除知识库时发生不可预取的错误，请联系管理人员！
	ExistCoursewareAboutFolderId: 110009, // 目录下还存在课程，请先处理在不能删除！
	PublishCourseErr:             110010, // 发布课程时发生错误
	CourseAccessDenied:           110011, // 没有该课程的访问权限
	CoursewareAccessDenied:       110012, // 没有课件访问权限，资源被删除或未公开

	// sys模块下的错误
	AccountIsExist:   120001, // 账户已经存在
	OldPasswordError: 120002, // 旧密码不正确
	OrgNameIsExist:   120003, // 部门名称已经存在
	// ams
	ClientIsOff:                130001, // 设备不在线
	SendMsgErr:                 130002, // 发送指令时发生错误
	AccessDeniedForLV:          130003, // 账户权限不足不能执行该操作
	UploadFileErrForIdp:        130004, // 上传文件失败
	PullTaskError:              130005, // 推送任务时发生错误
	GetReportErr:               130006, // 获取统计报表时发生错误
	TaskTimeInvalid:            130007, // 任务时间无效
	InstructionResponseTimeOut: 130008, // 指令响应超时
	// vap
	GuacdErr:            140001, // GuacdErr 连接时发生错误
	SendHostInstructErr: 140002, // 给host主机发送指令时发生错误
	SyncWinAccountsErr:  140003, // 同步win账户时发生错误
}
